/*
	Engine.h

	Contains the class information for the main engine object

	Author: Aidan Goddard 8/8/14
*/

#ifndef ENGINE_H_INCLUDED
#define ENGINE_H_INCLUDED

#include"SnowstormX.h"
#include"SnowstormXEntity.h"
#include<Window.h>

namespace Snowstorm
{
	class Engine
	{
	private:
		static SNOWSTORMX_PARAMS *parameters;
		static Window *wnd;

	public:
		static XVARS *ev;

	private:
		static void FocusGainedEvent(Snowstorm::Window *w, WPARAM wparam, LPARAM lparam);
		static void FocusLostEvent(Snowstorm::Window *w, WPARAM wparam, LPARAM lparam);
		static void WindowSetCursor(Snowstorm::Window *w, WPARAM wparam, LPARAM lparam);

	public:
		static uint64_t EngineRun(SNOWSTORMX_PARAMS *pa, Snowstorm::Entity *main_entity, void *main_params);

	};
};


#endif